﻿using QFramework;

namespace HKTools
{
    public class CMD_FPS_ChangePos : AbstractCommand
    {
        /// <summary>
        /// 目标位置的枚举类型（对应场景中预定义的位置点）
        /// </summary>
        HK_FirstPersonPosEnum posType;

        /// <summary>
        /// 是否需要同步改变角色的旋转角度
        /// </summary>
        bool isChangeRot;

        /// <summary>
        /// 构造函数：初始化目标位置类型和旋转控制参数
        /// </summary>
        /// <param name="posType">目标位置枚举值（如"Pos_01"/"Pos_02"等）</param>
        /// <param name="isChangeRot">是否根据目标位置调整角色朝向</param>
        public CMD_FPS_ChangePos(HK_FirstPersonPosEnum posType, bool isChangeRot)
        {
            this.posType = posType;
            this.isChangeRot = isChangeRot;
        }

        protected override void OnExecute()
        {
            this.GetSystem<IHK_FirstPersonCamSystem>().ChangeFirstPersonPos(posType, isChangeRot);
        }
    }
}